One of the best things about Quake is the fact that all game logic is read from a user-editable code file. This means that anything a programmer can come up with can be implemented in Quake. New weapons and new monsters are only the beginning. How about a grappling hook which lets you climb walls? Character classes? or change the entire game into a bloody soccer game. All these exist currently, check out planetquake.com for loads of examples.
This is the first successful compile of the Quake C complier for the Mac. It is EXTREMELY rough around the edges, but it does work. If you experience any crashes with it, try giving the program more memory, the standard 1.0.6 code takes 5 MB. The program currently doesn't do any memory checking, so it will crash.
This will expand to a bunch of .qc files, these are source code in Quake C. Docs explaining QuakeC are available at various Internet sites, you can find links from planetquake.com.
Put the QuakeCC program in the folder with the progs.src file. Run it with a double click.
If it compiles successfully, it will give you some compile statistics and create a file called
"..\progs.dat". The "..\" bit is due to assumptions made in the original QuakeCC source code, fixing it is on the todo list. If it bothers you, edit progs.src and remove the dots from the first line, that line becomes the filename.
Ultimately, the file progs.dat needs to be loaded into a Quake directory and run. Right now this, of course, requires a Wintel machine. When MacQuake is released, it will certainly support QuakeC addons, we'll find out how when the time comes.
Why?
Well, I suppose there are people with Macs who want to work on QuakeC stuff ahead of time.
Since Quake isn't out yet, people have asked why bother. Mainly, I wanted to iron out problems ahead of time. As you can see from the todo list, there is still much to be done. I'm releasing this in case anyone is interested.
The much-mentioned todo
Put in a real Save dialog
Fix memory allocation
Handle directory changes, both in source and output.
Need to make a dialog to support command line options